package com.education.platform.service;

import com.education.platform.dto.category.CategoryCreateDTO;
import com.education.platform.entity.Category;

import java.util.List;

/**
 * 分类服务接口
 *
 * @author education-platform
 * @since 2024-09-27
 */
public interface CategoryService {

    /**
     * 创建分类
     */
    Long createCategory(CategoryCreateDTO categoryCreateDTO);

    /**
     * 更新分类
     */
    void updateCategory(Long id, CategoryCreateDTO categoryCreateDTO);

    /**
     * 删除分类
     */
    void deleteCategory(Long id);

    /**
     * 根据ID获取分类
     */
    Category getCategoryById(Long id);

    /**
     * 获取所有分类（树形结构）
     */
    List<Category> getCategoryTree();

    /**
     * 获取子分类列表
     */
    List<Category> getChildCategories(Long parentId);

    /**
     * 更新分类状态
     */
    void updateStatus(Long id, String status);

    /**
     * 获取所有启用的分类
     */
    List<Category> getActiveCategories();
}

